/*
//
//              INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license  agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in  accordance  with the terms of that agreement.
//    Copyright (c) 2007 Intel Corporation. All Rights Reserved.
//
//
*/

#ifndef __UMC_AVS_DEC_DECOMPRESSOR_FLD_H
#define __UMC_AVS_DEC_DECOMPRESSOR_FLD_H

#include "umc_avs_dec_decompressor.h"

namespace UMC
{

class AVSDecompressorField : public AVSDecompressor
{
public:
    // Default constructor
    AVSDecompressorField(void);
    // Destructor
    virtual
    ~AVSDecompressorField(void);

protected:
    // Reconstruct motion vectors from differencies
    virtual
    void ReconstructMotionVectorsBSliceDirect(void);
    eAVSDivBlockType GetCollocatedBlockDivision(void);
    virtual
    void ReconstructDirectMotionVector(Ipp32s blockNum);
    virtual
    void CreateSymmetricalMotionVector(Ipp32s blockNum);
};

} // namespace UMC

#endif // __UMC_AVS_DEC_DECOMPRESSOR_FLD_H
